Go Generics
code:generics.go
// 関数が型パラメータを持つ
func f(T Stringer)(xs []T) []string {
var result []string
for _, x := range xs {
// xは型制約StringerによりString()が利用できる
result = append(result, x.String())
}
return result
}
type Stringer interface {
String() string
}
// 型が型パラメータを持つ場合